Concurrent Data Access Without Blowing Up
unsigned long gConnectCount;
void IncrementConnectCount()
{
++gConnectCount;
}
lwz | r3, gConnectCount(rtoc) | Load address of gConnectCount into register r3. |
lwz | r4, 0(r3) | Load integer from RAM into register r4. |
addi | r4, r4, 1 | Add 1 to register r4. |
stw | r4, 0(r3) | Store incremented value from register r4 back into RAM. |
blr | | Return from subroutine. |